function bciTopoplotGrid(datavec)

nn=ceil(sqrt(length(datavec)));
datavecMat = zeros(nn,nn);
datavecMat(1:length(datavec))=datavec;
% Add border and transpose
contourMat=zeros(nn+2,nn+2);
contourMat(end-1:-1:2,2:end-1)=datavecMat';
[X,Y] = meshgrid(0:1:nn+1, 0:1:nn+1);
contourf(X,Y,contourMat);
hold on;
% plot Electrodes
datavecMat = zeros(nn,nn);
datavecMat(1:length(datavec))=ones(1,length(datavec));
contourMat(end-1:-1:2,2:end-1)=datavecMat';
x=X(find(contourMat));
y=Y(find(contourMat));

plot(x,y,'k.');
yTickLabel = 1:nn:(nn*nn)-1;
set(gca,'xaxislocation','top',...
    'xtick',1:nn,'ytick',1:nn,...
    'yticklabel',yTickLabel(end:-1:1));